/**
 * 所有版权归 广西梧州 陈锦韬 所有
 *
 * @Title: PlfUserInfoForm
 * @Package com.rx.com.rx.stock.vo
 * @Description: 用户信息表单
 * @author: 陈锦韬
 * @date: 2020\9\8 0008
 * @version V1.0
 * @Copyright: 2020 陈锦韬  All rights reserved.
 */
package com.rx.uua.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.rx.core.data.RxData;
import com.rx.core.dbase.RxMarkDbMust;
import com.rx.core.iface.TreeNode;
import com.rx.core.util.EmptyChecker;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: Administrator
 * @Description: 机构表单
 * @date: 2020\9\8 0008
 */
@RxData
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class UuaMenuInfo extends RxMarkDbMust implements TreeNode {
    private static final long serialVersionUID = 1L;


    /**
     * 状态0-正常 1-废弃
     */
    @TableField("STATUS")
    private String status;

    /**
     * 根编码
     */
    @TableField("ROOT_CODE")
    private String rootCode;
    /**
     * 父代码
     */
    @TableField("PARENT_CODE")
    private String parentCode;

    /**
     * 代码
     */
    @TableField("MENU_CODE")
    private String menuCode;

    /**
     * 名称
     */
    @TableField("MENU_NAME")
    private String menuName;

    /**
     * 本地化展示
     */
    @TableField("LOCAL")
    private String local;

    /**
     * 重定向
     */
    @TableField("REDIRECT")
    private String redirect;

    /**
     * 组件
     */
    @TableField("COMPONENT")
    private String component;

    /**
     * 路由
     */
    @TableField("ROUTE")
    private String route;


    /**
     * 图标
     */
    @TableField("ICON")
    private String icon;

    /**
     * 顺序
     */
    @TableField("SORT")
    private Long sort;

    /**
     * 其他信息
     */
    @TableField("OTHER_INFO")
    private String otherInfo;


    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;


    @Override
    public String parentCode() {
        return parentCode;
    }

    @Override
    public String rootCode() {
        return rootCode;
    }

    @Override
    public String code() {
        return menuCode;
    }

    @Override
    public List childList() {
        if(EmptyChecker.isEmpty(children)){
            children = new ArrayList<>();
        }
        return children;
    }
}
